/*Se ejecuta la funcion en la p�gina llamadora*/
if (window.parent && window.parent.synchTab)  
	window.parent.synchTab(window.name);

function permite( elEvento, permitidos )
{
	// Variables que definen los caracteres permitidos
	var numeros = "0123456789";
	var caracteres = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var caracteres_especiales = "ñÑáéíóúÁÉÍÓÚ";
	var teclas_especiales = [ 8, 9, 46, 37, 39 ];
	// 8 = BackSpace, 9 = Tab, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
	
	// Seleccionar los caracteres a partir del parámetro de la función.
	switch( permitidos ) 
	{
		case 'num':
			permitidos = numeros;
			break;
		case 'car':
			permitidos = caracteres;
			break;
		case 'num_car':
			permitidos = numeros + caracteres;
			break;
                case 'full_car':
			permitidos = caracteres + caracteres_especiales;
			break;
                case 'full_car_num':
			permitidos = caracteres + caracteres_especiales + numeros;
			break;
                case 'full_car_ap':
			permitidos = caracteres + caracteres_especiales + '\'';
			break;
	}
 
	// Obtener la tecla pulsada 
	var evento = elEvento || window.event;
	var codigoCaracter = evento.charCode || evento.keyCode;
	var caracter = String.fromCharCode( codigoCaracter );

	// Comprobar si la tecla pulsada es alguna de las teclas especiales
	// (teclas de borrado y flechas horizontales)
	var tecla_especial = false;
	for( var i in teclas_especiales )
	{
		if( codigoCaracter == teclas_especiales[i] )
		{
			tecla_especial = true;
			break;
		}
	}

	// Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
	// o si es una tecla especial
	return permitidos.indexOf( caracter ) != -1 || tecla_especial;
}